10,278 research outputs found

    Students Asking Questions: Facilitating Questioning Aids Understanding and Enhances Software Engineering Skills

    Get PDF
    By providing a means to ask questions anonymously, we provide a non-threatening environment in which we encourage students to fully understand and criticise their assignments. As well as providing practical assistance for those who are struggling with course work, it demonstrates a practical reinforcement of ideas that are commonly taught in courses on software engineering, but it does so in a context that they can directly relate to - their desire to achieve good grades. The approach is based around the use of an HTML form to enable the anonymous submission of questions to staff and the dynamic refinement of assignment specifications. Examples of its use in a course on object-oriented design and C++ are given

    Observations and Recommendations on the Internationalisation of Software

    Get PDF
    As computer programs enter the lives of more and more people worldwide, it is becoming increasingly unacceptable to assume that software with a user interface designed for an indigenous English speaking market will be acceptable outside its country of origin simply by changing the currency symbol. Developers of software who are serious about expanding sales into new markets must consider many issues when giving thought either to the creation of new software or the modification of existing software to work within the linguistic and cultural constraints of these new markets. The purpose of this paper is to examine the task of preparing software to be used in countries and cultures other than that in which it is created. We do this by reviewing some of the most important localisation issues that have been identified, and some of the tools and practices that are available to the software designer to deal with them. We shall also consider some of the areas of the software development process that are currently less well understood and supported. Our major emphasis is in non-graphical applications targeted at European markets. Keywords: Internationalisation, I18N, Localising, Enabling, Multi-lingual

    Walking, hopping and jumping: a model of transcription factor dynamics on DNA

    Get PDF
    We present a model of how transcription factors scan DNA to find their specific binding sites. Following the classical work of Winter et al. (1981), our model assumes two modes of transcription factor dynamics. Adjacent moves, where the proteins make a single step movement to one side, or short walks where the transcription factors slide along the DNA several binding sites at a time. The purpose of this article is twofold. Firstly, we discuss how such a system can be efficiently modeled computationally. Secondly, we analyse how the mean first binding times of transcription factors to their specific time depends on key parameters of the system

    Evolving strategies for single-celled organisms in multi-nutrient environments

    Get PDF
    When micro-organisms are in environments with multiple nutrients, they often preferentially utilise one first. A second is only utilised once the first is exhausted. Such a two-phase growth pattern is known as diauxic growth. Experimentally, this manifests itself through two distinct exponential growth phases separated by a lag phase of arrested growth. The dura- tion of the lag phase can be quite substantial. From an evolu- tionary point of view the existence of a lag phase is somewhat puzzling because it implies a substantial loss of growth op- portunity. Mutants with shorter lag phases would be prone to outcompete those with longer phases. Yet in nature, diauxic growth with lag phases appears to be a robust phenomenon. We introduce a model of the evolution of diauxic growth that captures the basic interactions regulating it in bacteria. We observe its evolution without a lag phase. We conclude that the lag phase is an adaptation that is only beneficial when fit- ness is averaged over a large number of environments

    Evolving Biological Systems: Evolutionary Pressure to Inefficiency

    Get PDF
    The evolution of quantitative details (i.e. “parameter values”) of biological systems is highly under-researched. We use evolutionary algorithms to co-evolve parameters for a generic but biologically plausible topological differential equation model of nutrient uptake. In our model, evolving cells compete for a finite pool of nutrient resources. From our investigations it emerges that the choice of values is very important for the properties of the biological system. Our analysis also shows that clonal populations that are not subject to competition from other species best grow at a very slow rate. However, if there is co-evolutionary pressure, that is, if a population of clones has to compete with other cells, then the fast growth is essential, so as not to leave resources to the competitor. We find that this strategy, while favoured evolutionarily, is inef- ficient from an energetic point of view, that is less growth is achieved per unit of input nutrient. We conclude, that competition can lead to an evolutionary pressure towards inefficiency

    On the limits of engine analysis for cheating detection in chess

    Get PDF
    The integrity of online games has important economic consequences for both the gaming industry and players of all levels, from professionals to amateurs. Where there is a high likelihood of cheating, there is a loss of trust and players will be reluctant to participate — particularly if this is likely to cost them money. Chess is a game that has been established online for around 25 years and is played over the Internet commercially. In that environment, where players are not physically present “over the board” (OTB), chess is one of the most easily exploitable games by those who wish to cheat, because of the widespread availability of very strong chess-playing programs. Allegations of cheating even in OTB games have increased significantly in recent years, and even led to recent changes in the laws of the game that potentially impinge upon players’ privacy. In this work, we examine some of the difficulties inherent in identifying the covert use of chess-playing programs purely from an analysis of the moves of a game. Our approach is to deeply examine a large collection of games where there is confidence that cheating has not taken place, and analyse those that could be easily misclassified. We conclude that there is a serious risk of finding numerous “false positives” and that, in general, it is unsafe to use just the moves of a single game as prima facie evidence of cheating. We also demonstrate that it is impossible to compute definitive values of the figures currently employed to measure similarity to a chess-engine for a particular game, as values inevitably vary at different depths and, even under identical conditions, when multi-threading evaluation is used

    Introductory Problem Solving in Computer Science

    Get PDF
    This paper describes our experiences in devising a lightweight, informal methodology for problem solving in introductory, university level, computer science. We first describe the original context of the experiment and the background to the methodology. We then give the details of the steps of the Problem Solving Cycle - Understanding, Designing, Writing and Reviewing - and the lessons we learned about our teaching from devising the material. We also present practical examples of how it has been applied in a variety of units in our programme

    Enhancing apprentice-based learning of Java

    Get PDF
    Various methods have been proposed in the past to improve student learning by introducing new styles of working with assignments. These include problem-based learning, use of case studies and apprenticeship. In most courses, however, these proposals have not resulted in a widespread significant change of teaching methods. Most institutions still use a traditional lecture/lab class approach with a strong separation of tasks between them. In part, this lack of change is a consequence of the lack of easily available and appropriate tools to support the introduction of new approaches into mainstream courses.In this paper, we consider and extend these ideas and propose an approach to teaching introductory programming in Java that integrates assignments and lectures, using elements of all three approaches mentioned above. In addition, we show how the BlueJ interactive programming environment [7] (a Java development environment aimed at education) can be used to provide the type of support that has hitherto hindered the widespread take-up of these approaches. We arrive at a teaching method that is motivating, effective and relatively easy to put into practice. Our discussion includes a concrete example of such an assignment, followed by a description of guidelines for the design of this style of teaching unit
    • …
    corecore